
export default {
    methods:{
        /**
         * 判断值是否为空
         * @param val 当前控件的值
         * @param type 当前控件的类型
         * @returns {boolean} 如果值为空则返回true
         */
        isValNull(val,type){
            //判断值是否为空,为空返回true
            let value = typeof val === 'string'?val.trim():val ;
            if(value || (value === 0 && type !== 'score')){
                //控件为0也算有值，但是评分控件除外
                if(Array.isArray(value) && value.length === 0){
                    return true ;
                }
                return false ;
            }
            return true ;
        },
        changeStrLength(val,config){
            let valMode = config.control.valMode || config.options.valMode ;
            //获取数据的长度
            if(typeof val === 'number'){
                return (Math.floor(val) + '').length
            }else if(Array.isArray(val) || Object.prototype.toString.call(val) === '[object Object]'){
                return JSON.stringify(val).length
            }else if(valMode === 'double' && val.includes('{') && val.includes('}')){
                //如果值为 “{label:'',value:''}” 则判断 最长的一个,注意：值有可能是这种情况“[{}]”
                let obj = new Function(`return ${val}`)()
                if(Object.prototype.toString.call(obj) === '[object Object]' && obj.label && obj.value){
                    return Math.max(obj.label.length,obj.value.length);
                }
            }
            return val.length
        }
    }
}
